SORAM: A Computation-Efficient and Constant Client Bandwidth Blowup ORAM with Shamir Secret Sharing∗
نویسندگان
چکیده
Oblivious Random Access Machine (ORAM) enables a client to access her data without leaking her access patterns. Existing client-efficient ORAMs either achieve O(logN) client-server communication blowup without heavy computation, or O(1) blowup but with expensive homomorphic encryptions. It has been shown that O(logN) bandwidth blowup might not be practical for certain applications, while schemes with O(1) communication blowup incur even more delay due to costly homomorphic operations. In this paper, we propose a new distributed ORAM scheme referred to as Shamir Secret Sharing ORAM (SORAM), which achieves O(1) client-server bandwidth blowup and O(1) blocks of client storage without relying on costly partial homomorphic encryptions. SORAM harnesses Shamir Secret Sharing, tree-based ORAM structure and a secure multiparty multiplication protocol to eliminate costly homomorphic operations and, therefore, achieves O(1) client-server bandwidth blowup with a high computational efficiency. We conducted comprehensive experiments to assess the performance of SORAM and its counterparts on actual cloud environments, and showed that SORAM achieves three orders of magnitude lower end-to-end delay compared to alternatives with O(1) client communication blowup (Onion-ORAM), while it is one order of magnitude faster than Path-ORAM for a network with a moderate bandwidth quality. We have released the implementation of SORAM for further improvement and adaptation.
منابع مشابه
Asymptotically Tight Bounds for Composing ORAM with PIR
Oblivious RAM (ORAM) is a cryptographic primitive that allows a trusted client to outsource storage to an untrusted server while hiding the client’s memory access patterns to the server. The last three decades of research on ORAMs have reduced the bandwidth blowup of ORAM schemes from O( √ N) to O(1). However, all schemes that achieve a bandwidth blowup smaller than O(logN) use expensive comput...
متن کاملOnion ORAM: A Constant Bandwidth Blowup Oblivious RAM
We present Onion ORAM, an Oblivious RAM (ORAM) with constant worst-case bandwidthblowup that leverages poly-logarithmic server computation to circumvent the logarithmic lowerbound on ORAM bandwidth blowup. Our construction does not require fully homomorphicencryption, but employs an additively homomorphic encryption scheme such as the Damg̊ard-Jurik cryptosystem, or alternatively...
متن کاملThree-Party ORAM for Secure Computation
An Oblivious RAM (ORAM) protocol [13] allows a client to retrieve N-th element of a data array D stored by the server s.t. the server learns no information about N. A related notion is that of an ORAM for Secure Computation (SC-ORAM) [17], which is a protocol that securely implements a RAM functionality, i.e. given a secret-sharing of both D and N, it computes a secret-sharing of D[N]. SC-ORAM ...
متن کاملConstants Count: Practical Improvements to Oblivious RAM
Oblivious RAM (ORAM) is a cryptographic primitive that hides memory access patterns as seen by untrusted storage. This paper proposes Ring ORAM, the most bandwidth-efficient ORAM scheme for the small client storage setting in both theory and practice. Ring ORAM is the first tree-based ORAM whose bandwidth is independent of the ORAM bucket size, a property that unlocks multiple performance impro...
متن کاملBucket ORAM: Single Online Roundtrip, Constant Bandwidth Oblivious RAM
Known Oblivious RAM (ORAM) constructions achieve either optimal bandwidth blowup or optimal latency (as measured by online roundtrips), but not both. We are the first to demonstrate an ORAM scheme, called Bucket ORAM, which attains the best of both worlds. Bucket ORAM simultaneously achieves a single online roundtrip as well as constant overall bandwidth blowup.
متن کامل